home *** CD-ROM | disk | FTP | other *** search
/ C/C++ Users Group Library 1997 August / Walnut Creek CDROM.7z / LISTINGS / V_12_05 / ADAMS.ZIP / UNIT.CPP < prev   
Encoding:
Text File  |  1994-03-03  |  513 b   |  16 lines

  1. Listing 1.  Vector function unit 
  2.  
  3. Vector unit(const Vector& v)  // Unitize the input vector
  4. {    Vector u(v.length());         // Create same size Vector
  5.      int i;
  6.      double sumsq = 0.0;
  7.      for (i = 0; i < v.length; i++)   // Find sum of squares
  8.           sumsq += v(i) * v(i);              
  9.      if (sumsq != 0.0)   // Avoid divide by zero problems
  10.           sumsq = 1 / sqrt (sumsq);
  11.      for (i = 0; i < v.length(); i++) // Apply scaling
  12.           u(i) = v(i) * sumsq; 
  13.      return u;
  14. }
  15.  
  16.